<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
  <script>
    /* 
        箭头函数
            （[参数]）=>返回值
        例子：
            无参数箭头函数：()=>返回值
            一个参数的：a=>返回值
            多个参数的:(a,b)=>返回值
            只有一个语句的函数：()=>返回值
            只返回一个对象的函数:()=>({...})
            有多行语句的函数:()=>{
                ...
                return 返回值
            }
        箭头函数没有自己的this，它的this由外层作用域决定
         箭头函数的this和它的调用方式无关
    */
    let obj = {
      name: "zs",
      sayHello: function () {
        console.log(this.name, "sayHello");
        function c() {
          console.log(this, "cc");
        }
        c(); //以方法形式调用 指向window
      },
    };
    function fn() {
      console.log(this, "fn");
    }
    let fn1 = () => {
      console.log(this, "fn1");
    };
    obj.fn = fn;
    obj.fn1 = fn1;
    obj.fn();
    obj.fn1();
    obj.sayHello();
  </script>
</html>
